package com.mrtan.service;

import com.mrtan.bean.Warehouse;
import com.mrtan.vo.WarehouseMonthCountVO;
import com.mrtan.vo.WarehouseVO;

import java.util.List;

/**
 * @author 方雨淳
 * @version 2023.1
 * @date 2023/12/12 15:23
 */
public interface WarehouseService {
    List<Warehouse> selectAll(WarehouseVO warehouseVO);

    int updateWarehouse(Warehouse warehouse);

    int addNewWarehouse(Warehouse warehouse);

    String getWarehouseNames(Integer id);

    List<String> getAllWarehouseNames();

    Integer getTotalCount(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getProductCount(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getInandOutCount(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalCostByProduct(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalCostByStock(WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalQuantityByWarehouse
            (WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalQuantityByWarehouseAndDate
            (WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalCostByWarehouseAndDate
            (WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalCostByWarehouseAndDates
            (WarehouseMonthCountVO warehouseMonthCountVO);

    Integer getTotalRevenueByWarehouseAndDate
            (WarehouseMonthCountVO warehouseMonthCountVO);
}
